Controller for editing encoded image data

ABSTRACT

A controller for an electrographic printer or copier for editing encoded image data by bundling the image data into work packets which are then processed independently of one another. A plurality of raster modules handle individual work packets independently of one another. The raster modules access a resources memory which contains information on fonts and images, for example. A central resources memory unit administers the process.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is directed to a controller for editing encodedimage data in an electrographic printer or copier device.

2. Description of the Related Art

The editing ensues such that a character generator can generate a chargeimage on an intermediate carrier that is dependent on the image data.The encoded image data are transferred from a host or some other dataprocessing system to the controller, as disclosed, for example, by U.S.Pat. No. 5,012,434, in the form of commands of a specific, standardizedlanguage. For example, PCL (Printer Control Language) of Hewlett Packardand IPDS (Intelligent Printer Data Stream) of IBM are such languages.The commands contain all data for constructing a page to be printed. Inparticular, these are positioning information for positioning charactersand images on a page, information from which the font of individualcharacters are to be taken, link information to other masters such as,for example, forms, and the pixel data for specific images to beprinted. With the assistance of the controller, the received image dataare converted into pixels that are arranged matrix-like such that theimage data can be forwarded row-by-row or column-by-column to afollowing character generator.

U.S. Pat. No. 5,157,765 discloses a method and an apparatus for editingan encoded image data stream into a pixel data stream for driving aprinter. A division of the rastering work for editing a page onto aplurality of processors is proposed in order to save memory space and inorder to use the available processor capacity with high efficiency. In afour-stage process, independent blocks of a page to be printed are firstidentified and stored. In the second step, the blocks are converted intoobjects and data accesses to frequently employed resources such as, forexample, characters are organized. In the following process, thepositions of the objects on the page to be edited are determined. In thelast stage, the objects are rastered and edited into a rastered, fullpage.

An electrographic printer or copier device that contains an optical ormagnetic character generator is disclosed, for example, by EuropeanPatent Document EP-0 403 476 B1. Both a character generator thatdeflects a laser beam as well as a character generator working with LEDlines is thereby suitable as an optical character generator. Print datathat is present in pixel form are converted with a character generatorinto an optical or magnetic image with which a photoconductive or,respectively, ferromagnetic layer of a continuously revolving chargestorage drum or of a corresponding band-shaped intermediate carrier ofthe printer or copier device is exposed in order to generate a latentcharge or, respectively, a magnetic field image. This image is developedin a known way and transfer-printed onto a recording medium.

A controller must exhibit a corresponding calculating and rastercapacity that is dependent on the performance capability of the printeror copier device in which it is utilized. In standard fast printer andcopier devices, 50 to 350 DIN A4 pages are printed per minute. Dependenton the specific performance of a printer, one is compelled to eitherutilize specific controllers for the respective printer or, on the otherhand, to accept an over-dimensioning of the controller. The rastercapacity is limited by the access times onto the memory and thecalculating capacity is limited by the performance of the processoremployed.

SUMMARY OF THE INVENTION

The present invention is based on an object of providing a controllerfor editing encoded image data in an electrographic printer or copierdevice that is constructed such that the performance capability of thecontroller can be matched to the respective demands of the printer orcopier device in which it is utilized.

These and other objects and advantages of the invention are provided bya controller for editing encoded image data in an electrographic printeror copier device such that a character generator can generate a chargeimage on an intermediate carrier dependent on the image data, includingan interface for receiving the encoded image data; a conversion unitthat bundles the data contained in the encoded image data into workpackets that can be processed independently of one another; a packetmemory unit for packet-by-packet storage of the data; a packetadministration unit for the work packets that is coupled to a pluralityof raster modules for rastering image data and allocates the rastermodules a respective work packet each; a resources memory unit forstoring bit maps that are selectable on the basis of data contained inthe work packets; at least one output unit for output of the image datapresent in pixel form to the character generator, a resources buffermemory allocated to each raster module; and a raster processor allocatedto each raster module that has access to a virtual address space thatcomprises at least the actually physically present memory space of allresources buffer memories and of the resources memory unit.

The controller described above is further improved by a block-by-blockdivision within the resources memory unit and the resources buffermemories, so that a data transfer between the memories always ensues inblocks. A virtual address space is preferably enlarged by amagnification factor ν.

As an added feature, the controller has a conversion unit that convertsthe encoded image data into image data that can be processed by theraster modules and, in the form of a bit map, hands them over to aresources administration unit that deposits the bitmap in the resourcesmemory unit. The preferred embodiment provides that the work packetsthat respectively contain the data of a complete page to be printed,whereby these data are composed of control information for positioningindividual bit maps on the page, and data for locating a bit map in theresources memories.

The present invention also provides a method for editing encoded imagedata in an electrographic printer or copier device such that a charactergenerator can generate a charge image on an intermediate carrierdependent on the image data, having the following steps: reception ofencoded image data; bundling the data contained in the encoded imageinformation into work packets that can be processed independently of oneanother having the size of a page to be printed; packet-by packetstoring of data that characterize at least one work packet; allocatingthe work packets to a plurality of raster modules such that one workpacket is transmitted to a respective raster module; selection of bitmaps from a resources memory unit on the basis of the data contained inthe work packets; mastering the work packet such that the selected bitmaps are processed on the basis of positioning and control informationcontained in the work packet; output of the image data present in pixelform to the character generator, a resources buffer memory allocated toeach raster module; and a raster processor allocated to each rastermodule that has access to a virtual address space that comprises atleast the actually physically present memory space of all resourcesbuffer memories and of the resources memory unit.

As a development of the method, raster modules respectively are providedwith a packet buffer memory, a resources buffer memory and a rasterprocessor, whereby the raster processor can access a virtual addressspace that is bigger than the available memory space actually physicallyexisting given consideration of all resources buffer memories and theresources memory unit, reading a virtual address from the packet buffermemory; checking with reference to a table whether the virtual addresshas a physical address of the local resources buffer memory allocated toit; if not, requesting and transferring a data block from thecorresponding memory that contains the data of the physical address;transfer of the data block into the local resources buffer memory andcorresponding modification of the table entry; and reading andprocessing the data from the local resources buffer memory with theraster processor.

When enough memory space is not present for the transfer of the datablock into the local resources buffer memory, the method follows thesteps of: selection of a data block that is no longer needed from thelocal resources buffer memory; deleting the selected data block; andcorresponding modification of the table entry.

With the assistance of the conversion unit, the encoded image data canbe bundled into work packets that can be processed independently of oneanother. The work packets can each be respectively handed over to araster module that can edit the image data in a printer suitable mannerindependently of neighboring raster modules. In this editing, theindividual raster modules can access a resources memory unit thatcontains the bit maps of various fonts and specific bit maps of imagesto be reproduced. A simple administration of the resources is assured asa result of the central resources memory unit.

As a result of this arrangement, the editing of encoded image data isdivided into two separate work steps. The first work step is selected interms of its job amount such that it can be implemented very fastcompared to the second work step. This makes it possible to supply aplurality of raster modules with work packets with the assistance of theconversion unit. Dependent on the performance capability of the copieror printer device in which the controller is utilized, a correspondingplurality of raster modules that work in parallel but independently ofone another can be utilized, a scalability of the performance of thecontroller being thus achieved. A further advantage of the division ofthe controller into two work steps is that, when the language standardwith which the encoded image data reach the interface of the controlleris changed, only the conversion unit need be adapted to the standard.The other units of the controller can continued to be employed in anunmodified form.

Each raster module contains a packet buffer memory, a resources buffermemory and a raster processor. The raster processor can preferablyaccess a virtual address space that is larger than the available memoryspace that is actually physically present when all resources buffermemories and the resources memory unit are considered. The overallmemory requirement is minimized with the assistance of this virtualmemory management. Each processor can access each memory location of theoverall system even though it does not actually have the correspondingmemory capacity locally available. As a result of the block-by-blockdata exchange, memory cells addressed in the successor access to similaraddresses are locally available. The number of global memory accesses isthereby minimized.

A fragmentation of the physical memories is also avoided as a result ofthe feature in accord wherewith the virtual memory space is larger thanthe actually available physical memory space. The fragmentation of thememories arises in that the life span of requested memory blocks differsin length, i.e. some blocks are in turn released earlier in time, otherslater in time. At some time or other, the situation arises thatarbitrarily scattered memory blocks that have not yet been released arepresent in the memory. The effect thereof is that larger interconnectedmemory blocks are no longer present. By selecting a larger virtualaddress space, the probability is extremely high that adequately largeinterconnected memory blocks can always be addressed.

BRIEF DESCRIPTION OF THE DRAWINGS

An exemplary embodiment of the present invention is explained in greaterdetail below with reference to the drawing. Thereby shown are:

FIG. 1 is a block diagram of the function unit of an electrographicprinter with controller;

FIG. 2 is a block diagram of a raster module of a controller;

FIG. 3 is a schematic illustration of the allocation between work packetand resources;

FIG. 4 is the schematic structure of a metacommand of a work packet;

FIG. 5 is a flowchart of the method for converting encoded image datainto work packets;

FIG. 6 is a flowchart of the method for rastering a work packet;

FIG. 7 is a flowchart of the method execution of the allocation of awork packet by a packet administration unit;

FIG. 8 is a flowchart of the method execution of the printing processfor handing print data over to the character generator; and

FIG. 9 is a schematic illustration of the allocation of a virtualaddress space to a physical address space.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The block diagram of FIG. 1 shows the function units of anelectrographic printer or copier device that are contained therein forthe transmission of the encoded image data deliver by a host onto arecording medium 26 as visible image. For example, paper in continuousor single sheet form serves as recording medium 26. The encoded imagedata are received by an interface 1 that is referred to below as HOSTinterface. This HOST interface 1 is connected by a HOST databus 16 to aconversion unit 2 that is referred to below as parser 2. The parser 2converts the encoded image data into a format (described in greaterdetail below) that can be processed by the following function units.

The image data are thereby divided into two groups. A first group isformed by what are referred to as the resources that are transmittedfrom the parser 2 via a local resource bus 17 to a resources memory unit6 and are stored in the latter. The resources memory unit 6 and theresources administration unit 9 allocated to this memory unit form theresources unit RE. The other group is formed by the work packets 30 thatare transmitted via a local display list bus 18 to a packet memory unit3 and deposited therein. The packet memory unit 3 and the packetadministration unit 4 allocated to this memory unit form the packet unitPE.

Individual raster modules RM from a plurality of raster modules RM canbe selected with the packet unit PE. The raster modules RM are coupledto the packet unit PE via a bus 20 that is referred to below as displaylist bus 20. The resources unit RE is coupled to the raster modules RMvia a resources bus 22. The control information is exchanged between theraster modules RM, the parser 2, the resources unit RE and the packetunit PE via a control bus 21. This separation into individual busses isemployed here for simplifying the specification. It is self-evident thatarbitrary bus structures such as, for example, a multibus structure areemployable.

On the basis of the data contained in the work packets and the datadeposited in the resources memory 6, the raster modules RM edit theimage data into pixel form. Since the data contained in a work packet 30correspond to the information that are required for editing a completepage to be printed, every raster module RM edits a complete printed pageinto printing format.

For reproduction of the image data of a page on a recording medium 26,the raster modules RM are coupled to a character generator 8 via a pixelbus 23. For printing a page, a raster module RM supplies the pixel datato the character generator 8. The latter controls a laser beam or an LEDline in a known way such that a latent charge image is generated on aphotoconductive intermediate carrier 24. This charge image is developedin a known way in a developer station 27 with the assistance of tonerparticles and is transferred onto the recording medium 26 in a known waywith a corona in a transfer printing station 25.

Given the described structure of the controller, two hardware modules,namely an I/O module containing the parser 2 and the packet unit PE anda raster module RM, are required in the minimal version. When, however,a controller is required whose performance capability should be limitedto the performance capability of a raster module RM, then the I/O moduleand a raster module RM can also be combined in a hardware module.

The raster modules RM are identically constructed according to FIG. 2.They each contain a packet buffer memory 11 coupled to the resources bus22, a raster processor 14 coupled to the control bus 21 and to thebuffer memories 10, 11 via local busses 12, 13, and a print processor 7that is coupled to the raster processor 14 via a raster page bus andserves as an output unit 7. The raster processor 14 and the printprocessor or output unit 7 can access a raster buffer memory RPallocated to them independently of one another. This raster buffermemory RP serves for the intermediate storage of the raster result. Theprint processor 7 is coupled to the character generator 8 via the pixelbus 23.

The data supplied to the raster modules RM are edited by the parser 2.The parser 2 bundles work packets 30 from the image data received viathe HOST interface 1 and decoded by the parser 2, these work packets 30being independent of one another and respectively describing a completepage to be printed as display list 30. The work packets 30 areadministered by the packet administration unit 4, deposited in thepacket memory unit 3 and made available to the raster modules RM via thedisplay list bus 20. Fonts and images are handed over to the resourcesadministration unit 9 by the parser 2 via the local resources bus 17 andare deposited in the resources memory unit 6.

The nature of the data received from the HOST and what page they arerespectively allocated to can be derived from the received, encoded datastream. For example, the parser 2 receives a command from which it canconclude that a new printed page is beginning. When a new page starts,control information that were sent from the HOST before the start of thenew page must also be potentially attached to the work packet 30. Forexample, it can be required that what is referred to as an overlay that,for example, can be a company logo or a form must be attached to a page.Control information that the current page inherits from a preceding pagemust also be attached to the current page. For example, a font to beused can be inherited from one page to the next.

In the generation of the control information by the parser 2, the datareceived from the HOST are also checked for their plausibility andpotential transmission errors. It is thereby guaranteed that all datahanded over from the parser 2 to the following units RE, PE have alreadybeen checked for their validity and are correct. The further processingof the image information, accordingly, can no longer be disrupted byunprocessable data or the like.

The display list 30 is composed of a sequence of individual controlinformation that are referred to below as metacommands 31, 32. Themetacommands 31, 32 can be interpreted as an internal printer language.It thus becomes clear that the parser 2 is also used a print languageconverter. When, for example, the print language used by the HOSTchanges from PCL emulation to IPDS emulation, the controller can beadapted to this change by a replacement of the parser 2. The processesfollowing the parser 2 need not be modified or only have to be modifiedto a slight extent.

The display list 30 is shown in FIGS. 3 and 4. An individual metacommand31 is composed of the actual metacommand ID and auxiliary information 36about this metacommand ID. For example, the actual metacommand ID reads"print an `A`", and the address of the `A` and the corresponding font 33to be used are named as auxiliary information 36. Another display listentry 32 likewise reads "print an `A`", and the address of thecorresponding letter `A` and the appertaining font 34 differing from thefirst-cited font 33 are indicated as auxiliary information.

An example of a display list entry in its byte sequence is shown belowas an example.

    ______________________________________    20       Actual metacommand ID for start of page    ______________________________________    00 50 00 00             Offset of the page in X-direction, i.e. 50H dots from the             left edge of the diode comb of the character generator 8    00 00 00 00             Offset of the page in Y-direction, i.e. 0 dots from the             upper edge of the page    00 00 01 00             Size of the page in X-direction. The page is 0100H big in             X-direction.    00 00 02 00             Size of the page in Y-direction. The page is 0200H big in             Y-direction.    01       Orientation of the page. The page is turned by 90 degrees             relative to the paper running.    21       Actual metacommand ID for end of page    ______________________________________

The indicated example would effect the print-out of a blank page. Thefirst, actual metacommand ID=20 defines that a new page is beginning.The page edges , the page size and the orientation of the printing aredetermined as auxiliary information 36. The page is in turn alreadyended with the following, actual metacommand ID=21 before a print orderensues.

The inventive method is explained with reference to FIGS. 5 through 8.As shown in FIG. 5, the parser 2 wait for an encoded image data of theHOST after it starts. When the parser 2 receives data that are to beallocated to a page to be printed, it produces work packets in thedisplay list 30 from these data. Received data DAT that contain aspecific image pattern to be reproduced, what is referred to as a bitmap, are conducted to the resources unit RE and are deposited thereat,as explained in greater detail below. Each work packet contains asequence of metacommands 31, 32. The actual metacommand ID=20 is set atthe page beginning BEG and the margin conditions of the page are enteredas auxiliary information 36. When the metacommand 31 is generated at thebeginning BEG of a page and transmitted to the packet memory unit 3, theparser 2 again waits for encoded image data from the HOST.

The parser 2 then extracts information that reference specific locationsin the resources memory 6 from the data DAT received from the HOST thatsubsequently usually relate to the content of a page. When certaincharacters deposited in a font 33, 34 are to be printed, then the parser2 generates a corresponding, actual metacommand ID and adds the startingaddress of the character IM in the resources memory unit 6 at which thecharacter is deposited to it as auxiliary information 36. When aspecific bit map IM is to be printed, then the parser 2 conducts thisbit map IM to the resources unit RE and generates and actual metacommandID with an auxiliary information 36 that references the starting addressof the bitmap IM deposited in the resources unit RE. When the parser 2recognizes the end END of a printed page from the image data receivedfrom the HOST, then it generates a metacommand 31, 32 that contains theactual metacommand ID=21. The parser 2 has thus produced a work packetand deposited it in the packet memory unit 3 as a display list 30. Theparser 2 sends a message A to the packet administration unit 4.

The packet administration unit 4 reacts to this message A in the wayshown in FIG. 7. Beginning with a start time, the packet administrationunit 4 waits for messages A,D,E from the parser 2, from the rasterprocessor 14 and from the print processor 7. When the packetadministration unit 4 has received the message A, in accord wherewith awork packet 30 for rastering is present in the packet memory unit 3, itchecks to see if a raster module RM is free for processing the workpacket. When this is not the case, the packet administration unit 4waits until a raster module RM becomes free. The packet administrationunit 4 then hands a message B over to the raster module RM. This messageB contains the start address of the work packet in the display list 30.

According to FIG. 6, the raster module RM waits for this start address Dof the work packet. With reference to this start address B, the rastermodule RM now gets a part of the metacommands 31, 32 belonging to thework packet from the packet memory unit 3 via the display list bus.These metacommands 31, 32 are intermediately stored in the packet buffermemory 10. Via the local bus 12, the raster processor 14 successivelyaccesses the metacommands 31, 32 and implements the required rasteroperations dependent on them. The first metacommand 31 contains theactual metacommand ID=20 for the beginning BEG of the page. In a knownway that is not described here, the page to be rastered is subsequentlyedited in terms of size and alignment. The following metacommands 32contain the start addresses of the bitmaps to be presented on the page.The required memory contents of the resources memory unit 6 determinedby the start addresses are transmitted via the resources bus 22 into theresources buffer memory 11 of the raster module RM. The raster processor14 receives these memory contents from the resources buffer memory 11via the local bus 13. The page to be printed is thus rastered in a knownway and the raster result is deposited in the raster buffer memory RP.When the raster processor 14 recognizes the end END of the work packeton the basis of the actual metacommand ID=20, then it transmits acorresponding message D to the packet administration unit 4 and waitsfor the communication of a new start address B of a new work packet.

When the packet administration unit 4 (FIG. 7) receives the message Dabout the end of the rastering of a work packet, then it checks whethera print processor 7 is currently executing a print order from one of theraster modules RM. When this is the case, the packet administration unit4 checks whether a new work packet to be processed is present in thepacket memory unit 3 and whether a raster module RM is ready forrastering the work packet. When this is the case, it hands this new workpacket over to the corresponding raster module RM and checks again tosee whether a print processor 7 is active. When this is not the case,the packet administration unit 4 checks whether the next page that issupposed to be supplied to the character generator 8 is available in oneof the raster buffer memories RP of the raster modules RM. When this isnot the case, the packet administration unit 4 initiates the rasteringof a new work packet when the afore-mentioned, corresponding conditionsare met. When, given a check to see whether the next page to be printedis present in the raster buffer memory RP of one of the raster modulesRM, there is a positive acknowledgment information, then thecorresponding raster module RM is prompted to print out the page.

The print processor 7 of this raster module RM receives thecorresponding command according to FIG. 8. As a consequence thereof, theprint processor 7 forwards the raster image to the pixel bus 23row-by-row or column-by-column. The print processor 7 thereby constantlychecks whether the end of the page has been reached. When this page endis reached, the print processor 7 releases the memory location in theraster buffer memory RP occupied by the page that was just printed outfor being written anew. Subsequently, the print processor 7 outputs anend of printing message E to the packet administration unit 4. Thelatter recognizes the end of printing message E and allows the printprocessor 7 of the raster module RM that contains the next page to beprinted to output this page onto the pixel bus 23.

The data exchange between the resources unit RE and the packet unit PEwith the raster modules RM ensues via the display list bus 20 and theresources bus 22. The control information therefor are exchanged via thecontrol bus 21. According to FIG. 9, the data exchange ensues uponemployment of a virtual address space AYK that is imaged onto a physicaladdress space E1, E2, E3.

Every hardware module in which at least one of the function units RE,PE, RM of the controller is arranged has a physical address space E1,E2, E3 allocated to it that begins at the same start address 0 and endsat an end address X1, X2, X3. In order to make each memory addresswithin the controller unambiguous, the addresses AYK, that are referredto during ongoing operations, are decoupled from the addresses E1, E2,E3 of the physical memory. A virtual address space AYK is introduced forthis purpose. A specific section V1, V2, V3 in the virtual address spaceAYK is thereby allocated to each hardware module of the function unitsRE, PE, RM. The conversion of the virtual addresses V1, V2, V3 onto thephysical addresses E1, E2, E3 is undertaken by the memory managementunit (MMU) of the respective processors of the function units RE, PE,RM.

The memories of the function units RE, PE, RM are divided into blocks ofequal lengths that are referred to as "page" below. A standard size forsuch a "page" is 4 kbyte. Via tables, every physical "page" can have adifferent, basically arbitrary virtual address Y through K allocated toit. The access of programs via the virtual address Y through K onto thecorresponding address 0 through X in the physical address space E1, E2,E3 is completely transparent since the processors quasi-automaticallyundertake the conversion via tables.

A fragmentation of the memory ensues in dynamic operation due to thetime-variable release of memory blocks. The fragmentation is preventedby application of the virtual addressing in that the virtual addressspace AYK is selected larger than the physical address space E1, E2, E3.Each physical address space E1, E2, E3 of a function unit RE, PE, RM isimaged onto a respectively larger virtual address space V1, V2, V3. Theentire virtual address space V1, V2, V3 onto whose addresses each of theindividual function units can access directly extends from an address Yto an address K. Thereby valid is:

    K=Y+ν*(X1+X2+X3)

with ν as a magnification factor for the physical address space E1, E2,E3. Given employment of a virtual address space AYK that is twice as bigas the physical address space E1, E2, E3--ν=2 is valid--, functiondisruptions when rastering image data due to memory fragmentation arecompletely avoided with high probability.

The data exchange between the system units RE, PE, RM then ensues viawhat is referred to as "paging". Normally, "paging" is utilized togetherwith the virtual addressing in operating systems in order to overcomethe limits of the physical memory. This occurs in that, upon thecondition that there is no longer any physical memory in the system, thecontent of a "page" or a plurality of "pages" of a first memory istransferred out to a second memory. The second memory is thereby often ahard-disk storage. What "pages" are transferred out and what virtualaddress space these "pages" cover is deposited in tables. These tablesare processed by the memory administration and interpreted by the memorymanagement unit (MMU) of the processor at every access onto the memory.When such a "page" that has been transferred out is accessed, aninterrupt is triggered that starts an interrupt service routing forreacquisition of the transferred "page". First, space is created in thefirst memory by transferring unneeded "pages" out from the first memoryinto the second memory. This space is then filled with the needed"pages". Subsequently, the tables of the MMU are correspondingly updatedand the desired access to the "pages" can ensue.

This functionality of commercially obtainable processors is now employedin modified form for the data transfer between the system units PE, RE,RM of the controller. Data that are not locally present in the memory10, 11 of a function module RE, PE, RM are accessed with the assistanceof "paging". When, for example due to a start address of a bit mapcontained in the metacommand 31, the raster processor 14 of a rastermodule RM, E2 accesses its packet buffer memory 10, then its MMUinitially determines whether the virtual address Y through K cited inthe metacommand 31 is allocated to a locally available physical address0 through X2. When this is not the case, the corresponding interruptservice routine is triggered. This interrupt service routine effects thetransfer of the needed "page" to the packet buffer memory 10 of theraster module RM. The "page", for example, is located in the resourcesmemory unit 6. The interrupt service routine stops the program run ofthe raster processor 14 and makes sure that the program can be continuedat the same point later. With the assistance of a table, the memorymanagement MMU of the raster processor 14 determines the physicaladdress 0 through X1 in the resources memory unit 6 of the resourcesunit RE, E1 under which the "page" is deposited. The memory managementMMU of the raster module RM then communicates via the control bus withthe memory management MMU of the resources administration unit 9. Theneeded "page" is requested by this communication. The resourcesadministration unit 9 then sends a copy of the requested "page" to therequesting raster module RM via the resources bus 22. There, the data ofthe "page" are stored in the resources buffer memory 10, E2 under alocally present, physical address 0 through X2. The table entry in thememory management MMU of the raster module RM is correspondingly updatedand the raster processor 14 is prompted to continue the program run.

When too little space is present in the packet buffer memory 10 of theraster module RM for entry of the "page" transferred from the resourcesmemory unit 6, the memory management unit MMU selects that "page"contained in the packet puffer memory 10 that was not needed for thelongest time. The selected "page" is declared invalid and overwritten bythe data of the new "page". The selected "page" can be simply deletedbecause it is only a copy from the resources memory unit 6. Atime-consuming transfer of this "page" can therefore be foregone, theraster process being additionally accelerated as a result thereof.

It is self-evident that, given a corresponding need, the resourcesmemory unit 6 can also be entirely or partly transferred out in a packetbuffer memory 10 of a raster module 10. For enhancing the rasteringcapacity of a controller, for example, it is possible to insert a rastermodule RM with an enlarged resources buffer memory 11 into thecontroller. As a result thereof, the capacity of the controller foraccepting bit maps can be increased without additional intervention inthe resources unit RE.

A "cache" effect is also achieved by applying the "paging" in the dataexchange between the system units RE, PE, RM. When requesting neededdata, data blocks, i.e. "pages" of a defined size, are exchanged betweenthe units RE, PE, RM. However, a "page" contains more data than arerequired for the execution of the next command when rastering. Forexample, an `A` of a specific font 33 is to be written given the currentcommand. The `A` is contained in a "page" that also contains the rasterinformation for the letters B, C, D and E. When, with the next command,a `C` of the same font 33 is to be inserted on the page to be rastered,then this `C` is already locally available in the resources buffermemory 11. When another letter of the font 33 that is not contained inthe first "page" is to be rastered, the corresponding "page" is fetchedin the local resources buffer memory 11. The entire font 33 istransferred onto the local resources buffer memory 11 in this way. Textsto be printed in this one font 33 can then be rastered by the rastermodule RM without making further demands on the resources bus 22. On thebasis of the condition that it is always the "page" that was no longerrequired for the longest time that is overwritten, the "pages" allocatedto the font 33 are only deleted when the font 33 is no longer required.

It is also possible, given the request for a currently needed "page", toalso request further, following "pages" at the same time. A completefont 33, for example, can thus be fetched into the resources buffermemory 11 of a raster module RM with a single request of an interruptservice routine.

The transfer of work packets between the packet unit PE and a rastermodule RM ensues in an analogous way. The raster processor 14 of araster module RM receives the virtual start address Y' through K' of thework packet in the display list 30. A "page" that contains the startaddress of the work packet 30 is transferred into the packet buffermemory 10 with the assistance of the interrupt service routine. Aplurality of metacommands 31, 32 is contained in this "page". A newinterrupt is triggered only after the processing of all of thesemetacommands 31, 32, and the interrupt service routine is triggered forobtaining the successor "page". The load on the display list bus 20 iscorrespondingly low.

What is referred to as a memory pool must be generated when bitmaps, forexample a font 33, 34, or a graphic to be presented on a page are to bestored in the resources memory unit 6 of the controller. Such a memorypool has the following properties.

A generated pool receives an identifier that is unambiguous within thecontroller. The size of the pool is conditioned by the "paging", amultiple of a single "page" (for example, 4 Kbytes).

Individual memory sections can be allocated to the pool or releasedwithin a generated pool. The size of the allocated memory areas can liebetween a byte and the largest interconnected physical memory areawithin the pool. The function unit RE, PE, RM in which the pool isgenerated is determined by a parameter. The memory management unit MMUof the respective function unit RE, PE, RM makes the necessary functionsavailable that are required for the allocation or the release ofmemories. When a pool is released, all memory areas lying within thepool and allocated to this pool are also released.

An ownership right is defined for a pool. The owner of the pool isinitially who generated the pool. This ownership right can be given awayand reacquired. The owner of the pool is allowed to implement alldefined operations on this pool. An access of non-owners to the poolleads to an error. When the ownership right to the pool is surrendered,then there is no longer an owner for the pool. In this case, everyfunction unit RE, PE, RM has a right to access the pool in readingfashion.

When, for example, a graphic proceeds via the HOST to the parser 2, thenthe parser 2 activates the resources administration unit 9. Theresources administration unit 9 generates a pool in the resources memoryunit 6 and assigns an identifier to this pool. It forwards thisidentifier to the parser 2 that uses it for producing the metacommand31. A raster module RM can access the pool later with the assistance ofthis metacommand. The resources administration unit 9 now has controlover the pool and can enlarge or, respectively, reduce its size asneeded by allocating or releasing memory space. The bit map receivedfrom the HOST is stored in this pool. When the entire bit map iscontained in the pool, the resources administration units 9 relinquishescontrol over the pool. Any arbitrary unit RE, PE, RM can now access thepool in reading fashion. When modifications are to be subsequentlyundertaken at the pool, control of the pool can be reacquired by aspecific request and the modification can be undertaken. Such amodification, for example, can be the release or deletion of the pool.When a pool is deleted, it is seen to at the same time that all copiesof the pool as well as parts of the pool are likewise deleted anddeclared invalid. Another access to the deleted pool then leads to anerror message.

The output of the rastered image data from the raster module RM via thepixel bus 23 to the character generator 8 ensues in the following way.The print processor 7 of a raster module RM that contains the rasteredimage data for the next page to be printed is informed by the packetadministration unit 4 that it is to output a specific page onto thepixel bus 23 given the next request from the pixel bus 23. The followinginterrupt on the pixel bus 23 is correspondingly received by this printprocessor 7. The print processor 7 transmits the required data forreading out the entire page to the control of the pixel bus 23,whereupon this reads the entire page from the raster buffer memory RP ofthe raster module RM. With a further interrupt, the pixel bus 23 signalsthe print processor 7 the successful readout of the page, whereupon theprint process is ended.

Although other modifications and changes may be suggested by thoseskilled in the art, it is the intention of the inventor to embody withinthe patent warranted hereon all changes and modifications as reasonablyand properly come withing the scope of his contribution to the art.

I claim:
 1. A controller for editing encoded image data in an electrographic printer or copier device such that a character generator of the printer or copier can generate a charge image on an intermediate carrier that is dependent on image data, comprising:an interface for receiving encoded image data; a conversion unit that bundles data contained in the encoded image data into work packets that can be processed independently of one another; a packet memory unit for packet-by-packet storage of the data; a packet administration unit for the work packets that is coupled to a plurality of raster modules for rastering the image data and allocates the raster modules a respective work packet each; a resources memory unit for storing bit maps that are selectable on a basis of data contained in the work packets; at least one output unit for output of the image data present in pixel form to the character generator; a resources buffer memory allocated to each of said raster modules; and a raster processor allocated to each of said raster modules that has access to a virtual address space that comprises at least actually physically present memory space of all said resources buffer memories and of the resources memory unit.
 2. A controller according to claim 1, wherein said resources memory unit and the resources buffer memories are divided into blocks so that a data transfer between the resources memory unit and the resources buffer memories always ensues in blocks.
 3. A controller according to claim 1, wherein said virtual address space enlarged by a magnification factor ν of actually physically present memory space is of all said resources buffer memories and of the resources memory unit.
 4. A controller according to claim 1, further comprising:a conversion unit that converts the encoded image data into image data that can be processed by the raster modules and, in the form of a bit map, hands them over to a resources administration unit that deposits the bitmap in the resources memory unit.
 5. A controller according to claim 1, wherein said work packets contain data of a complete page to be printed, said data including:control information for positioning individual bit maps on the page; and data for locating a bit map in the resources memories.
 6. A method for editing encoded image data in an electrographic printer or copier device such that a character generator can generate a charge image on an intermediate carrier that is dependent on the image data, comprising the following steps:receiving encoded image data; bundling the data contained in the encoded image data into work packets that can be processed independently of one another having the size of a page to be printed; packet-by-packet storing of data that characterize at least one work packet; allocating the work packets to a plurality of raster modules such that one work packet is transmitted to a respective raster module; selecting bit maps from a resources memory unit on a basis of the data contained in the work packets; rastering the work packet such that the selected bit maps are processed on a basis of positioning and control information contained in the work packet; output of the image data present in pixel form to the character generator; allocating a resources buffer memory to each raster module; allocating a raster processor to each raster module that has access to a virtual address space that comprises at least the actually physically present memory space of all resources buffer memories and of the resources memory unit.
 7. A method according to claim 6, wherein each of said raster modules contains a packet buffer memory, a resources buffer memory and a raster processor, whereby the raster processor can access a virtual address space that is bigger than the available memory space actually physically existing given consideration of all resources buffer memories and the resources memory unit, comprising the following steps:reading a virtual address from the packet buffer memory; checking with reference to a table whether a virtual address has a physical address of a local resources buffer memory allocated to it; if not, requesting and transferring a data block from the corresponding memory that contains the data of the physical address; transferring the data block into the local resources buffer memory and modifying a table entry accordingly; and reading and processing the data from the local resources buffer memory with the raster processor.
 8. A method according to claim 7, wherein when enough memory space is not present for the transfer of the data block into the local resources buffer memory, performing the following steps:selection of a data block that is no longer needed from the local resources buffer memory; deleting the selected data block; and corresponding modification of the table entry. 